/**
 * 数组移动方法
 * @param arr 
 * @param from 
 * @param to 
 */

export const arrayMove=<T>(arr:T[],from:number,to:number)=>{
    // 拷贝数组（深拷贝）
    const newArr=arr.slice()

    // 原地操作  to小于0的话，说明是在减小，往左边拖，大于零是在右边拖
    // 数组：arr=[1, 2, 3, 0]  arr.splice(-3,2,9,8)  倒着数第三个元素（-1意味着是最后一个元素）,往后删除两个(2和3)，插入9和8,所以arr等于[1, 9, 8, 0]
    newArr.splice(to<0?newArr.length+to:to,0,newArr.splice(from,1)[0])

    return newArr

}